package com.ax.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    private String username; // 登录账号（唯一，可用手机号/邮箱）

    private String password; // 登录密码（加密存储）

    private String name; // 用户昵称（显示用，非登录账号）

    private String phone; // 手机号（用于登录、短信验证）

    private String email; // 邮箱（用于登录、找回密码）

    private String sex; // 性别（男/女/未知）

    private String avatar; // 头像URL

    private Integer status; // 账号状态（0-禁用，1-正常）

    private String defaultAddressId; // 默认收货地址ID（关联地址表）

    private LocalDateTime lastLoginTime; // 最后登录时间

    private LocalDateTime createTime; // 创建时间（注册时间）

    private LocalDateTime updateTime; // 更新时间

    private Long createUser; // 创建人（通常为系统默认，普通用户自注册）

    private Long updateUser; // 最后更新人
}
